//
//  BSZBaseRequest.h
//  BuSuanZi
//
//  Created by staff on 3/15/25.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

typedef void(^BSZBaseRequestResult)(id _Nullable object, NSString * _Nullable status, NSString * _Nonnull msg);

@interface BSZBaseRequest : NSObject

/**
 POST 请求数据
 
 @param URLString 服务器地址
 @param parameters 字典 token
 @param modelClass 需要的Model类型（自己创建，但必须继承于YbdModel，如果为空则直接返回原始数据）
 @param result 返回结果
 */
+ (void)POST:(nonnull NSString *)URLString
  parameters:(nullable NSDictionary *)parameters
  modelClass:(nullable Class)modelClass
      result:(BSZBaseRequestResult _Nullable )result;

/**
 GET 请求数据
 
 @param URLString 服务器地址
 @param parameters 字典 token
 @param modelClass 需要的Model类型（自己创建，但必须继承于YWHModel，如果为空则直接返回原始数据）
 @param result 返回结果
 */
+ (void)GET:(nonnull NSString *)URLString
  parameters:(nullable NSDictionary *)parameters
  modelClass:(nullable Class)modelClass
     result:(BSZBaseRequestResult _Nullable )result;

/**
 * 上传单个视频/图片
 * parameters: 包含类型/小区Id
 * type=0上传图片 type=1上传视频
 */
+ (void)upFile:(nonnull  NSData*)data
          type:(nonnull NSString *)type
           url:(nonnull NSString *)URLString
            parameters:(nullable NSDictionary *)parameters
            modelClass:(nullable Class)modelClass
      result:(BSZBaseRequestResult _Nullable )result;


@end

NS_ASSUME_NONNULL_END
